1. Field of the Invention
The present invention relates to a system design support apparatus and a system design supporting method. Specifically, the present invention relates to a technique for proposing a combination of system installation elements, which complies with multiple requirements concerning a system to be installed and enables efficient system design and installation.
2. Related Art
With the advent of cloud computing, IT system design and installation works, which have conventionally been conducted from scratch by humans based on requirements, are replaced with use of patterns which are prepared in units of configurations and can be reused easily. For example, there is provided a service configured to store installed virtual servers and virtual systems as templates and to allow reuse of such templates.
However, when such a pattern is used, it is necessary to verify by humans whether or not the pattern satisfies requirements for a system to be designed and installed, if the requirements on which the pattern is based are not specified by a definite source. System analyses and tests associated with the verification works by humans consume time and effort, and the above-described use of the pattern may rather lead to inefficiency.
In this regard, there has also been proposed a method of forming patterns in units of software components of an OS, software, and the like and combining those patterns as appropriate. As an example of this technique, there has been proposed a software development tool (see Japanese Patent Application Publication No. 2008-171318) which includes: a software structural diagram editor for combining software components stored in a component database to edit a software structural diagram; a software structural diagram analysis part for analyzing software structural diagram data from the editor to generate inter-software component coupling information showing a statistic relation between the components and a dynamic behavior thereof, and extracting a composite component contained in the software structural diagram; a composite component data generation part for generating software component specification data of the composite component; a composite component registration part for registering the software component specification data of the composite component with a database; and a consistency verification part for verifying consistency between the components based on the inter-software component coupling information and the software component specification data stored in the database.
The above-described conventional technique exerts an advantageous effect in the case of a combination of software patterns and unambiguous functional requirements such as software specifications. However, for a target such as an IT system, in which non-functional requirements (e.g., performance, availability, and the like) occupy an important role, the conventional technique does not exert an advantageous effect sufficiently if it is necessary to consider a thing, such as a relation between a software version and system stability, for which a causal relation is difficult to show simply. Furthermore, in an environment such as a cloud environment where the specifications of a service are not disclosed entirely and the software of the service has to be treated as a black box from a user's side, it is necessary to introduce a technique that surpasses the existing software development techniques.
In view of the above, an object of the present invention is to provide a technique for proposing a combination of system installation elements, which complies with multiple requirements concerning a system to be installed and enables efficient system design and installation.